from matplotlib import pyplot as plt

# ###  matplotlab 制作图标  ### #
x_values = range(1, 1001)
y_values = [x**2 for x in x_values]

# 设置图标样式。可以通过 plt.style.available 查看所有样式
plt.style.use('seaborn-v0_8')

# 在⼀个图形（figure）中绘制⼀或多个绘图（plot）
fig, ax = plt.subplots()

# ------- 线 -------
# x轴的值， y轴的值, 参数 linewidth 决定了 plot() 绘制的线条的粗细
# ax.plot(x_values, y_values, color='yellow',  linewidth=3)

# ------- 点 -------
# x轴的值， y轴的值, 颜色， 点的大小
# plt.scatter(x_values, y_values, c='red', s=10)
# plt.scatter(x_values, y_values, color=(0, 0.8, 0), s=10)
# 颜⾊映射（colormap）渐变色
plt.scatter(x_values, y_values,  c=y_values, cmap=plt.cm.cool, s=10)

# 设置图表标题，并给坐标轴加上标签
ax.set_title("Square Numbers", fontsize=24)
ax.set_xlabel("Value", fontsize=14)
ax.set_ylabel("Square of Value", fontsize=14)

#  设置每个坐标轴的取值范围
# x轴最小值， x轴最大值， y轴最小值， y轴最大值
# ax.axis([0, 1100, 0, 1100000])
ax.axis([0, 1100, 0, 1_100_000])    # 下划线增加可读性

# ticklabel_format() ⽅法能够覆盖默认的刻度标记样式。
ax.ticklabel_format(style='plain')

# 设置刻度标记的大小
ax.tick_params(axis='both', labelsize=14)

plt.show()
# 保存图表
# plt.savefig('squares_plot.png', bbox_inches='tight')


